package com.ambulance.project.manager.service.impl;

import cn.hutool.core.util.ObjectUtil;
import com.ambulance.project.manager.domain.BizPatient;
import com.ambulance.project.manager.mapper.BizPatientMapper;
import com.ambulance.project.manager.service.IBizPatientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 病员急救信息Service业务层处理
 *
 * @author zr
 * @date 2020-05-11
 */
@Service
public class BizPatientServiceImpl implements IBizPatientService {
    @Autowired
    private BizPatientMapper bizPatientMapper;

    /**
     * 查询病员急救信息
     *
     * @param patientId 病员急救信息ID
     * @return 病员急救信息
     */
    @Override
    public BizPatient selectBizPatientById(Long patientId) {
        return bizPatientMapper.selectBizPatientById(patientId);
    }

    /**
     * 查询病员急救信息列表
     *
     * @param bizPatient 病员急救信息
     * @return 病员急救信息
     */
    @Override
    public List<BizPatient> selectBizPatientList(BizPatient bizPatient) {
        return bizPatientMapper.selectBizPatientList(bizPatient);
    }

    /**
     * 新增病员急救信息
     *
     * @param bizPatient 病员急救信息
     * @return 结果
     */
    @Override
    public int insertBizPatient(BizPatient bizPatient) {
        if(ObjectUtil.isNull(bizPatient.getTime())){
            bizPatient.setTime(LocalDateTime.now());
        }
        if(ObjectUtil.isNull(bizPatient.getReceiveNoticeTime())){
            bizPatient.setReceiveNoticeTime(LocalDateTime.now());
        }
        return bizPatientMapper.insertBizPatient(bizPatient);
    }

    /**
     * 新增病员急救信息
     *
     * @return 结果
     */
    public int insertBizPatientSimulation() {
        return bizPatientMapper.insertBizPatientSimulation();
    }

    /**
     * 修改病员急救信息
     *
     * @param bizPatient 病员急救信息
     * @return 结果
     */
    @Override
    public int updateBizPatient(BizPatient bizPatient) {
        return bizPatientMapper.updateBizPatient(bizPatient);
    }

    /**
     * 批量删除病员急救信息
     *
     * @param patientIds 需要删除的病员急救信息ID
     * @return 结果
     */
    @Override
    public int deleteBizPatientByIds(Long[] patientIds) {
        return bizPatientMapper.deleteBizPatientByIds(patientIds);
    }

    /**
     * 删除病员急救信息信息
     *
     * @param patientId 病员急救信息ID
     * @return 结果
     */
    @Override
    public int deleteBizPatientById(Long patientId) {
        return bizPatientMapper.deleteBizPatientById(patientId);
    }
}
